package robot

import (
	"github.com/sssxyd/rpa-execution-protocol/basic"
	"github.com/sssxyd/rpa-execution-protocol/ossys"
)

type ProjectExecutor interface {
	GetID() string // 唯一标识符

	GetVariable(name string) (any, bool) // 获取指定变量的值

	DispatchTask(taskData *basic.DispatchTaskData) error // 创建分发新的任务

	IsInterrupts() bool // 检查当前机器人是否处于中断状态

	DeviceInfo() ossys.DeviceInfo      // 获取设备信息
	FileSystem() ossys.LocalFilesystem // 获取本地文件系统实例
	HttpClient() ossys.HttpClient      // 获取HTTP客户端实例
	Logger() ossys.ScriptLogger        // 获取脚本日志记录器实例
	Storage() ossys.LocalStorage       // 获取项目存储实例

	LockScreen(script GoScript) error
	UnlockScreen(script GoScript) error

	SleepRandom(min_ms, max_ms int) // 随机休眠, 用于模拟人类操作的随机性

}
